<?php
/**
 * 描述 : 负责开启 SESSION 与 应用对接功能
 * 作者 : Edgar.lee
 */
class uc_com_face {

    /**
     * 描述 : 连接测试
     * 作者 : Edgar.lee
     */
    public static function test() {
        return true;
    }

    /**
     * 描述 : 执行sql语句
     * 作者 : Edgar.lee
     */
    public static function &_sql($sql) {
        return L::sql($sql);
    }

    /**
     * 描述 : 登录对接
     * 作者 : Edgar.lee
     */
    public static function login($name) {
        return $name;
    }

    /**
     * 描述 : 用户状态改变(用户可能不存在)
     * 参数 :
     *      name  : 用户名
     *      state : 用户状态, '0'=删除, '100'=正常, '200'=禁用
     * 返回 :
     *
     * 作者 : Edgar.lee
     */
    public static function userState($name, $state) {
        $database=require_once($_SERVER['DOCUMENT_ROOT'].'/application/config/database.php');
        $data_arr=$database['default']['connection'];
        $link=mysql_connect($data_arr['hostname'],$data_arr['username'],$data_arr['password']);
        mysql_select_db($data_arr['database'], $link);
        if($state==0||$state==200){
            $sql="SELECT id FROM users WHERE name='".$name."'";
            $result=mysql_query($sql,$link);
            $id_result=mysql_fetch_row($result);
            if(isset($id_result[0])){
                $del_sql="UPDATE users SET status=0 WHERE id=".$id_result[0];
                mysql_query($del_sql,$link);
                $state == 0 && mysql_query("DELETE FROM roles_users WHERE user_id={$id_result[0]}", $link);
            }
        }
        if($state==100){
            $sql="SELECT id FROM users WHERE name='".$name."'";
            $result=mysql_query($sql,$link);
            $id_result=mysql_fetch_row($result);
            if(isset($id_result[0])){
                $del_sql="UPDATE users SET status=1 WHERE id=".$id_result[0];
                mysql_query($del_sql,$link);
            }
            else{
                //创建用户
                $mail=$name.'@qq.com';
                $create_sql="INSERT INTO `users`(`name`, `pass`, `mail`, `nick`, `status`) VALUES ('".$name."','".md5($name)."','".$mail."','".$name."',1)";
                mysql_query($create_sql,$link);
            }
        }
        mysql_close($link);
        return array($name, $state);
    }

    /**
     * 描述 : 用户状态改变
     * 参数 :
     *      name : 用户名
     *      role : 用户完整权限 {
     *          权限包名 : {
     *              'list' : [{
     *                  'title' : 权限标题
     *                  'path'  : 权限路径(关键词)
     *                  'match' : 详细匹配信息 {
     *                      'G'(GET) : {
     *                          'C'(包含参数) : {
     *                              'p' : ''(仅包含p参数),
     *                              'x' : 'xx'(匹配x参数等于xx)
     *                          },
     *                          'E'(排除参数) : {
     *                              与C一致结构
     *                          }
     *                      },
     *                      'P'(POST) : {
     *                          与G一样结构
     *                      }
     *                  }
     *              }]
     *          }
     *      }
     * 返回 :
     *
     * 作者 : Edgar.lee
     */
    public static function userRole($name, $role) {
        $database=require_once($_SERVER['DOCUMENT_ROOT'].'/application/config/database.php');
        $data_arr=$database['default']['connection'];
        $link=mysql_connect($data_arr['hostname'],$data_arr['username'],$data_arr['password']);
        mysql_select_db($data_arr['database'], $link);
        $sql="SELECT id FROM users WHERE name='".$name."'";
        $result=mysql_query($sql,$link);
        $id_result=mysql_fetch_row($result);
        if(isset($id_result[0])){
            //删除原有权限
            $del_sql="DELETE FROM `roles_users` WHERE `user_id`=".$id_result[0];
            mysql_query($del_sql,$link);
            if(!empty($role)){
                //添加新的权限
                foreach($role as $r) {
                    isset($r['notes']) && $r['notes'] && mysql_query("INSERT INTO `roles_users`(`user_id`, `role_id`) VALUES (".$id_result[0].",{$r['notes']})", $link);
                }
            }
        }
        mysql_close($link);
        return array($name, $role);
    }
}